Embodiments of the present invention are directed to video coding systems that support playback of video at variably selected sizes. In particular, they are directed to video coding systems that support intra-frame coding schemes as those found in video editing applications.
Modern video editing applications are software based tools that permit an operator (an ‘editor’) to generate an output video sequence from a plurality of candidate input video sequences. Video editing applications are used to develop movie and television programming from a variety of different image sources. To capture a conversation between two characters in an interesting manner, for example, an editor may generate an output sequence that jumps among two or more different camera angles. The editor may select a first video sequence for an amount of time, then dissolve to a second video sequence for a second amount of time. To support this editing function, the video editor may provide a graphical user interface that represents the various candidate input sequences along a common time axis. The editor may specify cuts between the input streams that will occur in the output streams and also any effects (such as dissolves) that occur between them. These are draft editing settings that can be modified at will until final settings are obtained.
Video editing applications permit the editing settings to be tested at any time. The applications typically have access to coded video data representing each of the candidate input streams. The applications' graphical user interface also may provide a window that occupies some percentage of its display to permit playback of the editing settings. When playback is performed, the application may cause one or more of the stored video data sequences to be decoded and any effects to be applied before the resulting video sequence is displayed. Rendering displayable video sequences in real time display requires these decoding and effects operations to be performed once per frame interval (typically 1/30th of a second). To render the decode operations as fast as possible, traditional video editing applications have accepted coded video data that is intra-predicted only. That is, each frame may be decoded without temporal prediction.
Designers of video editing applications may be compelled to accept a wider variety of coded video data, including data coded according to temporal prediction. To keep the decoding operations as fast as possible, the inventors determined that it would be advantageous to decode the input video data from its coding format and re-code the data according to an intra-prediction technique. Also the decoding and recoding is likely to result in less compression than the input data and, therefore, larger file sizes, it also is likely to result in faster decoding during the testing operation.
The inventors also realized that the decoding and re-coding of input data provide an opportunity to provide further optimizations to the decoding processes that are performed during the testing modes for video settings.